import javax.swing.*;
import java.util.Date;
import java.awt.*;
import java.awt.event.ActionEvent;

public class ProduktuakKautotuta extends Frame {
	Frame nireFrame;
	String izena;
	String pasahitza;
	public ProduktuakKautotuta(Frame parent, Boolean modal, String i, String p) {
		nireFrame = parent;
		izena = i;
		pasahitza = p;
		enableEvents(AWTEvent.WINDOW_EVENT_MASK);
		try {
			jbInit();
		}
		catch (Exception e) {
			e.printStackTrace();
		}
	}

	private void jbInit() throws Exception {
		final JFrame f = new JFrame();
		Container container = f.getContentPane();
		container.setLayout(null);
		((JPanel)container).setBorder(BorderFactory.createTitledBorder("Produktuak"));
		
		final Checkbox aukera1 = new Checkbox("Kaxa magikoa", false);
		aukera1.setBounds(20, 50, 100, 25);
		f.add(aukera1);
		JLabel prezioa1 = new JLabel("Prezioa: 30 euro");
		prezioa1.setBounds(140, 50, 100, 25);
		f.add(prezioa1);
		final Choice menu1 = new Choice();
		menu1.addItem("Kantitatea");
		menu1.addItem("1");
		menu1.addItem("2");
		menu1.addItem("3");
		menu1.setBounds(250, 50, 150, 25);
		f.add(menu1);
		
		final Checkbox aukera2 = new Checkbox("Ezpata", false);
		aukera2.setBounds(20, 90, 80, 25);
		f.add(aukera2);	
		JLabel prezioa2 = new JLabel("Prezioa: 25 euro");
		prezioa2.setBounds(140, 90, 100, 25);
		f.add(prezioa2);
		final Choice menu2 = new Choice();
		menu2.addItem("Kantitatea");
		menu2.addItem("1");
		menu2.addItem("2");
		menu2.addItem("3");
		menu2.setBounds(250, 90, 150, 25);
		f.add(menu2);
		
		final Checkbox aukera3 = new Checkbox("Zaldia", false);
		aukera3.setBounds(20, 130, 80, 25);
		f.add(aukera3);
		JLabel prezioa3 = new JLabel("Prezioa: 60 euro");
		prezioa3.setBounds(140, 130, 100, 25);
		f.add(prezioa3);
		final Choice menu3 = new Choice();
		menu3.addItem("Kantitatea");
		menu3.addItem("1");
		menu3.addItem("2");
		menu3.addItem("3");
		menu3.setBounds(250, 130, 150, 25);
		f.add(menu3);
		
		final Checkbox aukera4 = new Checkbox("Pistola", false);
		aukera4.setBounds(20, 170, 80, 25);
		f.add(aukera4);
		JLabel prezioa4 = new JLabel("Prezioa: 35 euro");
		prezioa4.setBounds(140, 170, 100, 25);
		f.add(prezioa4);
		final Choice menu4 = new Choice();
		menu4.addItem("Kantitatea");
		menu4.addItem("1");
		menu4.addItem("2");
		menu4.addItem("3");
		menu4.setBounds(250, 170, 150, 25);
		f.add(menu4);
		
		final Checkbox aukera5 = new Checkbox("Panpina", false);
		aukera5.setBounds(20, 210, 80, 25);
		f.add(aukera5);
		JLabel prezioa5 = new JLabel("Prezioa: 30 euro");
		prezioa5.setBounds(140, 210, 100, 25);
		f.add(prezioa5);
		final Choice menu5 = new Choice();
		menu5.addItem("Kantitatea");
		menu5.addItem("1");
		menu5.addItem("2");
		menu5.addItem("3");
		menu5.setBounds(250, 210, 150, 25);
		f.add(menu5);
		
		final Checkbox aukera6 = new Checkbox("Trizikloa", false);
		aukera6.setBounds(20, 250, 80, 25);
		f.add(aukera6);
		JLabel prezioa6 = new JLabel("Prezioa: 40 euro");
		prezioa6.setBounds(140, 250, 100, 25);
		f.add(prezioa6);
		final Choice menu6 = new Choice();
		menu6.addItem("Kantitatea");
		menu6.addItem("1");
		menu6.addItem("2");
		menu6.addItem("3");
		menu6.setBounds(250, 250, 150, 25);
		f.add(menu6);
		
		final Checkbox aukera7 = new Checkbox("Baloia", false);
		aukera7.setBounds(20, 290, 80, 25);
		f.add(aukera7);
		JLabel prezioa7 = new JLabel("Prezioa: 15 euro");
		prezioa7.setBounds(140, 290, 100, 25);
		f.add(prezioa7);
		final Choice menu7 = new Choice();
		menu7.addItem("Kantitatea");
		menu7.addItem("1");
		menu7.addItem("2");
		menu7.addItem("3");
		menu7.setBounds(250, 290, 150, 25);
		f.add(menu7);
		
		final Checkbox aukera8 = new Checkbox("Patinak", false);
		aukera8.setBounds(20, 330, 80, 25);
		f.add(aukera8);
		JLabel prezioa8 = new JLabel("Prezioa: 35 euro");
		prezioa8.setBounds(140, 330, 100, 25);
		f.add(prezioa8);
		final Choice menu8 = new Choice();
		menu8.addItem("Kantitatea");
		menu8.addItem("1");
		menu8.addItem("2");
		menu8.addItem("3");
		menu8.setBounds(250, 330, 150, 25);
		f.add(menu8);
		
		JButton poltsanSartu = new JButton("Poltsan sartu");
		poltsanSartu.setBounds(20, 370, 150, 25);
		f.add(poltsanSartu);
		JButton zereginak = new JButton("Zereginak");
		zereginak.setBounds(180, 370, 110, 25);
		f.add(zereginak);
		JButton irten = new JButton("Irten");
		irten.setBounds(300, 370, 100, 25);
		f.add(irten);
		f.setSize(450,450);
		f.setTitle("Euskaltoy");
		f.setVisible(true);
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		poltsanSartu.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(ActionEvent e) {
				
				// Ez bada produkturik aukeratu eta "Poltsan sartu" sakatu bada, errorea
				
				if (aukera1.getState() == false && aukera2.getState() == false &&
						aukera3.getState() == false && aukera4.getState() == false &&
						aukera5.getState() == false && aukera6.getState() == false &&
						aukera7.getState() == false && aukera8.getState() == false){
					errorea1_actionPerformed(e);
					f.setVisible(false);
				}
				
				// Produkturen bat aukeratu bada eta kantitatea ez, "Poltsan sartu" sakatzerakoan, errorea
				
				else if ((aukera1.getState() == true && menu1.getSelectedItem().equals("Kantitatea")) ||
						(aukera2.getState() == true && menu2.getSelectedItem().equals("Kantitatea")) ||
						(aukera3.getState() == true && menu3.getSelectedItem().equals("Kantitatea")) ||
						(aukera4.getState() == true && menu4.getSelectedItem().equals("Kantitatea")) ||
						(aukera5.getState() == true && menu5.getSelectedItem().equals("Kantitatea")) ||
						(aukera6.getState() == true && menu6.getSelectedItem().equals("Kantitatea")) ||
						(aukera7.getState() == true && menu7.getSelectedItem().equals("Kantitatea")) ||
						(aukera8.getState() == true && menu8.getSelectedItem().equals("Kantitatea"))) {
					errorea2_actionPerformed(e);
					f.setVisible(false);
				}
				else {
					int j = 0;
					int prezioa = 0;
					int[] josta = new int[20];
					AplikazioDatuBase datubase = AplikazioDatuBase.instance();
					
					// Aukeratutako produktuak eta kantitateak gorde array batean
					
					if (aukera1.getState() == true) {
						for (int i=1; i<=Integer.parseInt(menu1.getSelectedItem()); i++) {
							josta[j] = 1;
							j++;
							prezioa = prezioa + datubase.getJostailua(1);
						}
					}
					if (aukera2.getState() == true) {
						for (int i=1; i<=Integer.parseInt(menu2.getSelectedItem()); i++) {
							josta[j] = 2;
							j++;
							prezioa = prezioa + datubase.getJostailua(2);
						}
					}
					if (aukera3.getState() == true) {
						for (int i=1; i<=Integer.parseInt(menu3.getSelectedItem()); i++) {
							josta[j] = 3;
							j++;
							prezioa = prezioa + datubase.getJostailua(3);
						}
					}
					if (aukera4.getState() == true) {
						for (int i=1; i<=Integer.parseInt(menu4.getSelectedItem()); i++) {
							josta[j] = 4;
							j++;
							prezioa = prezioa + datubase.getJostailua(4);
						}
					}
					if (aukera5.getState() == true) {
						for (int i=1; i<=Integer.parseInt(menu5.getSelectedItem()); i++) {
							josta[j] = 5;
							j++;
							prezioa = prezioa + datubase.getJostailua(5);
						}
					}
					if (aukera6.getState() == true) {
						for (int i=1; i<=Integer.parseInt(menu6.getSelectedItem()); i++) {
							josta[j] = 6;
							j++;
							prezioa = prezioa + datubase.getJostailua(6);
						}
					}
					if (aukera7.getState() == true) {
						for (int i=1; i<=Integer.parseInt(menu7.getSelectedItem()); i++) {
							josta[j] = 7;
							j++;
							prezioa = prezioa + datubase.getJostailua(7);
						}
					}
					if (aukera8.getState() == true) {
						for (int i=1; i<=Integer.parseInt(menu8.getSelectedItem()); i++) {
							josta[j] = 8;
							j++;
							prezioa = prezioa + datubase.getJostailua(8);
						}
					}
					
					// Eskaera berria sortu
					
					java.util.Date utilDate = new java.util.Date();
					java.sql.Date data = new java.sql.Date(utilDate.getTime());
					int baiez = ((int) Math.random() * 100);  
					int pid = datubase.getpertsonaid(izena, pasahitza);
					eska esk = new eska(1, prezioa, pid, baiez, data, 0, josta);
					poltsanSartu_actionPerformed(e, esk);
					f.setVisible(false);
				}
			}
		});
		zereginak.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(ActionEvent e) {
				zereginak_actionPerformed(e);
				f.setVisible(false);
			}
		});
		irten.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(ActionEvent e) {
				irten_actionPerformed(e);
				f.setVisible(false);
			}
		});
	}
	void poltsanSartu_actionPerformed(ActionEvent e, eska esk) {
		new Poltsa(this, true, esk, izena, pasahitza);
	}
	void errorea1_actionPerformed(ActionEvent e) {
		new Errorea(this, true, 4, izena, pasahitza);
	}
	void errorea2_actionPerformed(ActionEvent e) {
		new Errorea(this, true, 5, izena, pasahitza);
	}
	void zereginak_actionPerformed(ActionEvent e) {
		new ErabiltzaileAukerak(this, true, izena, pasahitza);
	}
	void irten_actionPerformed(ActionEvent e) {
		new Frame1();
	}
}